// 1.导入
const express = require('express');
const app = express();
// 配置一句话:让post请求中req.body,能够接受到参数
// 通过 express.urlencoded() 这个中间件，来解析表单中的 url-encoded 格式的数据
app.use(express.urlencoded({ extended: false }));

// 注册:db就是index里面的fn函数
const db = require('./database/index');
// 书写端口
app.post('/api/reguser', (req, res) => {
    // req.body接收请求参数
    // 通过对象解构赋值,把对象中的属性定义为变量
    let { username, password } = req.body;
    console.log(req.body);
    console.log(username);
    // 查询用户名是否存在
    let sql = `select *from user where username='${username}'`;
    db(sql, (err, results) => {
        // 判断
        if (err) {
            return res.send({ status: 1, msg: 'sql语法错误:' + err.message });
        }
        // 判断结果,如果大于等于1,则存在
        if (results.length >= 1) {
            return res.send({ status: 1, msg: '用户名已存在,请更换用户名!' });
        }
        // 模拟注册功能完成
        // res.send({ status: 0, msg: '注册成功!' });
        // 导如utility ,加密密码
        const utility = require('utility');
        password = utility.md5(password);
        // 添加语句写道查询语句里面
        let sql = `insert into user set username='${username}',password='${password}'`;
        db(sql, (err, results) => {
            // 判断
            if (err) {
                return res.send({ status: 1, msg: 'sql语法错误:' + err.message });
            }
            // 判断结果,如果大于等于1,则存在
            if (results.affectedRows !== 1) {
                return res.send({ status: 1, msg: '添加失败!' });
            }
            // 模拟注册功能完成
            res.send({ status: 0, msg: '注册成功!' });
        })
    })
});


// res.send('注册成功....');

// 启动服务
app.listen(3006, () => {
    console.log('http://127.0.0.1:3006');
})